package com.xuecheng.api.media;

import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.api.media.model.vo.MediaVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * @author 黄子弟
 * @Date 2021/12/14
 */

@Api(value = "媒资管理api" ,tags = "媒资管理api接口信息")
public interface MediaControllerApi {

    @ApiOperation("保存媒资信息")
    @ApiImplicitParam(name = "mediaVO",value = "媒资基本信息",required = true,dataType = "MediaVO",paramType = "body")
    MediaDTO createMedia(MediaVO mediaVO);

    @ApiOperation("机构媒体资源分页条件查询")
    @ApiImplicitParams(value = {@ApiImplicitParam(name = "params",value = "分页数据信息",required = true,dataType = "PageRequestParams",paramType = "query"),
            @ApiImplicitParam(name = "model",value = "查询条件信息",required = true,dataType = "QueryMediaModel",paramType = "body")
    })
    PageVO queryMediaList(PageRequestParams params, QueryMediaModel model);


    @ApiOperation("媒体资源信息预览")
    @ApiImplicitParam(name = "mediaId",value = "媒资id",required = true,dataType = "Long",paramType = "path")
    String previewMedia(Long mediaId);

    @ApiOperation("媒体资源删除")
    @ApiImplicitParam(name = "mediaId",value = "媒资id",required = true,dataType = "Long",paramType = "path")
    void deleteMedia(Long mediaId);






}
